package com.dhcc.DRGsHosp.web.controller;

import org.openkoala.koala.commons.InvokeResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.dhcc.DRGsHosp.facade.YiZhengHomeFacade;
import com.dhcc.DRGsHosp.facade.dto.IndexCalDTO;
import com.dhcc.DRGsHosp.facade.dto.IndexCalDTO;
import com.dhcc.DRGsHosp.facade.dto.IndexCalDTO;

/**
 * @title		:YiZhengHomeController.java
 * @description	:
 * @author		:liqingyang
 * @date		:2015年4月29日
 * @version     :1.0
 * @copyright   :DHCC 2013-2014 
 */
@Controller("drgsHospWebController46")
@RequestMapping("/YiZhengHome")
public class YiZhengHomeController {

	@Autowired
	private YiZhengHomeFacade yiZhengHomeFacade;
	
	
	/**
	 * 
	 * @methodname    :getLatestDate
	 * @description   : 获取最新的一次监测时间
	 * @param         :
	 * @author        :mazhaoyan
	 * @return        :
	 * @date          :2015年5月21日
	 */
	@ResponseBody
	@RequestMapping("/getLatestDate")
	public InvokeResult getLatestDate() {
		return yiZhengHomeFacade.getLatestDate();
	}

	/**
	 * 
	 * @methodname    :getTotalAnalysis
	 * @description   : 获取总体的病例分析数据
	 * @param         :
	 * @author        :mazhaoyan
	 * @return        :
	 * @date          :2015年5月26日
	 */
	@ResponseBody
	@RequestMapping(value = "/getTotalAnalysis", method = RequestMethod.POST)
	public InvokeResult getTotalAnalysis(String s,String e) {
		return yiZhengHomeFacade.getTotalAnalysis(s,e);
	}
	
	/**
	 * 
	 * @methodname    :getDisCaseInfo
	 * @description   : 获取各病种病例信息
	 * @param         :
	 * @author        :mazhaoyan
	 * @return        :
	 * @date          :2015年5月26日
	 */
	@ResponseBody
	@RequestMapping(value = "/getDisCaseInfo", method = RequestMethod.POST)
	public InvokeResult getDisCaseInfo(String s,String e) {
		return yiZhengHomeFacade.getDisCaseInfo(s,e);
	}
	
	/**
	 * 
	 * @methodname    :getDrgDataInMdc
	 * @description   : 获取某MDC下DRG病例信息
	 * @param         :
	 * @author        :mazhaoyan
	 * @return        :
	 * @date          :2015年5月26日
	 */
	@ResponseBody
	@RequestMapping(value = "/getDrgDataInMdc", method = RequestMethod.POST)
	public InvokeResult getDrgDataInMdc(String s,String e,String mdcCode) {
		return yiZhengHomeFacade.getDrgDataInMdc(s,e,mdcCode);
	}
	
	/**
	 * 
	 * @methodname    :getOtherCase
	 * @description   : 获取其他病例
	 * @param         :
	 * @author        :mazhaoyan
	 * @return        :
	 * @date          :2015年5月26日
	 */
	@ResponseBody
	@RequestMapping(value = "/getOtherCase", method = RequestMethod.POST)
	public InvokeResult getOtherCase(String s,String e) {
		return yiZhengHomeFacade.getOtherCase(s,e);
	}
	
	/**
	 * 
	 * @methodname    :getDepCaseData
	 * @description   : 获取各科室的病例数据
	 * @param         :
	 * @author        :mazhaoyan
	 * @return        :
	 * @date          :2015年5月27日
	 */
	@ResponseBody
	@RequestMapping(value = "/getDepCaseData", method = RequestMethod.POST)
	public InvokeResult getDepCaseData(String s,String e) {
		return yiZhengHomeFacade.getDepCaseData(s,e);
	}
	
	/**
	 * 
	 *  getPatientInfo.  
	 *  @Description：获取病人基本信息
	 *  @Author LiuHongjun
	 *  @param patientId
	 *  @return 
	 *  @Date:2017年4月26日下午2:48:54
	 */
	@ResponseBody
	@RequestMapping(value = "/getPatientInfo", method = RequestMethod.POST)
	public InvokeResult getPatientInfo(String patientId,String patientversion) {
		return yiZhengHomeFacade.getPatientInfo(patientId,patientversion);
	}
	
	/**
	 * @methodname    :getPatientCost
	 * @description   : 获取病人费用信息
	 * @param         :
	 * @author        :lileizheng
	 * @return        :
	 * @date          :2016年1月7日
	 */
	@ResponseBody
	@RequestMapping(value = "/getPatientCost")
	public InvokeResult getPatientCost(String patientId){
		return yiZhengHomeFacade.getPatientCost(patientId);
	}
	
	/**
	 * 
	 * @methodname    :getCaseQYData
	 * @description   : 获取诊断与手术不一致的病例数据
	 * @param         :
	 * @author        :mazhaoyan
	 * @return        :
	 * @date          :2015年5月28日
	 */
	@ResponseBody
	@RequestMapping(value = "/getCaseQYData", method = RequestMethod.POST)
	public InvokeResult getCaseQYData(String startDate,String endDate,String notincode) {
		return yiZhengHomeFacade.getCaseQYData(startDate, endDate, notincode);
	}
	
	/**
	 * 
	 * @methodname    :getDepInDG
	 * @description   : 获取当前科室组下的所有科室
	 * @param         :
	 * @author        :mazhaoyan
	 * @return        :
	 * @date          :2015年6月11日
	 */
	@ResponseBody
	@RequestMapping(value = "/getDepInDG", method = RequestMethod.POST)
	public InvokeResult getDepInDG(IndexCalDTO dto) {
		return yiZhengHomeFacade.getDepInDG(dto);
	}
	/**
	 * 
	 * @methodname    :getWardInPerf
	 * @description   : 获取绩效分析中的病区数据
	 * @param         :
	 * @author        :mazhaoyan
	 * @return        :
	 * @date          :2016年9月12日
	 */
	@ResponseBody
	@RequestMapping(value = "/getWardInPerf", method = RequestMethod.POST)
	public InvokeResult getWardInPerf(IndexCalDTO dto) {
		return yiZhengHomeFacade.getWardInPerf(dto);
	}

    /**
     * 
     * @methodname    :getProtomedicusByDepCode
     * @description   : 按科室代码查询副主任医师
     * @param         :
     * @author        :fulianxia
     * @return        :
     * @date          :2015年11月24日
     */
    @ResponseBody
    @RequestMapping(value = "/getProtomedicusByDepCode", method = RequestMethod.POST)
    public InvokeResult getProtomedicusByDepCode(IndexCalDTO dto){
    	return yiZhengHomeFacade.getProtomedicusByDepCode(dto);
    }
	
	/**
	 * 
	 * @methodname    :getClinicInDep
	 * @description   : 获取当前科室下的所有主诊组
	 * @param         :
	 * @author        :mazhaoyan
	 * @return        :
	 * @date          :2015年6月12日
	 */
	@ResponseBody
	@RequestMapping(value = "/getClinicInDep", method = RequestMethod.POST)
	public InvokeResult getClinicInDep(IndexCalDTO dto) {
		return yiZhengHomeFacade.getClinicInDep(dto);
	}
	
	/**
	 * 
	 * @methodname    :findAllDepGroupInCon
	 * @description   : 查询符合条件的全部科室组
	 * @param         :
	 * @author        :mazhaoyan
	 * @return        :
	 * @date          :2015年6月16日
	 */
	@ResponseBody
	@RequestMapping(value = "/findAllDepGroupInCon", method = RequestMethod.POST)
	public InvokeResult findAllDepGroupInCon(IndexCalDTO dto) {
		return yiZhengHomeFacade.findAllDepGroupInCon(dto);
	}
	
	/**
	 * 
	 * @methodname    :getCostInfo
	 * @description   : 获取费用小类
	 * @param         :
	 * @author        :liuhongjun
	 * @return        :
	 * @date          :2016年2月25日
	 */
	@ResponseBody
	@RequestMapping(value = "/getCostnameInfo", method = RequestMethod.POST)
	public InvokeResult getCostnameInfo(String costsubcode) {
		return yiZhengHomeFacade.getCostnameInfo(costsubcode);
	}
	
	/**
	 * 
	 * @methodname    :getResidentInDep
	 * @description   : 获取当前科室下的所有住院医师
	 * @param         :
	 * @author        :fulianxia
	 * @return        :
	 * @date          :2016年4月19日
	 */
	@ResponseBody
	@RequestMapping(value = "/getResidentInDep", method = RequestMethod.POST)
	public InvokeResult getResidentInDep(IndexCalDTO dto) {
		return yiZhengHomeFacade.getResidentInDep(dto);
	}
	
	/**
	 * 
	 *  getPhysicianInDep.  
	 *  @Description：获取当前科室下的所有主治医师
	 *  @Author LiuHongjun
	 *  @param dto
	 *  @return 
	 *  @Date:2017年6月29日下午5:45:46
	 */
	@ResponseBody
	@RequestMapping(value = "/getPhysicianInDep", method = RequestMethod.POST)
	public InvokeResult getPhysicianInDep(IndexCalDTO dto) {
		return yiZhengHomeFacade.getPhysicianInDep(dto);
	}
}
